package com.uh.rds.testing.base;

public interface DataValidator extends DataTester {

    /**
     * 验证数据的处理时间
     * @return
     */
    long getProcessTime();


    /**
     * 对所有的数据设置过期
     * @param expireSeconds
     * @return
     */
    long expire(int expireSeconds);

    /**
     * 验证keys是否已经正常过期（所有可都不存在为验证通过）
     * @return
     */
    boolean validateExpired();


    /**
     * 进行校验。如果校验通过条件一般为： ProcSize == ValidSize
     * @return true校验通过
     */
    boolean validate();

    /**
     * 获取校验时间
     * @return
     */
    long getValidateTime();

    /**
     * 数据总量
     * @return
     */
    int getSize();

    /**
     * 处理的数据数量
     * @return
     */
    int getProcSize();

    /**
     * 校验通过的数据数量
     * @return
     */
    int getValidSize();

    /**
     * 清理的数据数量
     * @return
     */
    int getClearSize();


}
